{"componentChunkName":"component---node-modules-gatsby-theme-garden-src-templates-local-file-js","path":"/Raspberry Pi","result":{"data":{"file":{"childMdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Raspberry Pi\",\n  \"author\": \"vlwkaos\",\n  \"created\": \"2021-08-24:23:09:22\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Raspberry Pi\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Raspberry%20Pi%203%20B+%20%EC%84%9C%EB%B2%84%20%EC%84%B8%ED%8C%85%20(1)\",\n    \"title\": \"Raspberry Pi 3 B+ 서버 세팅 (1)\"\n  }, \"[[Raspberry Pi 3 B+ \\uC11C\\uBC84 \\uC138\\uD305 (1)]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Raspberry%20Pi%203%20B+%20%EC%84%9C%EB%B2%84%20%EC%84%B8%ED%8C%85%20(2)\",\n    \"title\": \"Raspberry Pi 3 B+ 서버 세팅 (2)\"\n  }, \"[[Raspberry Pi 3 B+ \\uC11C\\uBC84 \\uC138\\uD305 (2)]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Raspberry%20Pi%203%20B+%20%EC%84%9C%EB%B2%84%20%EC%84%B8%ED%8C%85%20(3)\",\n    \"title\": \"Raspberry Pi 3 B+ 서버 세팅 (3)\"\n  }, \"[[Raspberry Pi 3 B+ \\uC11C\\uBC84 \\uC138\\uD305 (3)]]\"), \"\")));\n}\n;\nMDXContent.isMDXComponent = true;","outboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Raspberry Pi 3 B+ 서버 세팅 (1)\",\n  \"author\": \"vlwkaos\",\n  \"created\": \"2021-08-24:23:08:41\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Raspberry Pi 3 B+ \\uC11C\\uBC84 \\uC138\\uD305 (1)\"), mdx(\"h2\", null, \"\\uD30C\\uC774\\uB97C \\uC0AC\\uAE30\\uC804\\uC5D0\"), mdx(\"p\", null, \"\\uD30C\\uC774\\uB97C \\uAD6C\\uB9E4\\uD558\\uAE30 \\uC804\\uC5D0 \\uC5B4\\uB5A4 SD\\uCE74\\uB4DC\\uAC00 \\uC801\\uD569\\uD560\\uC9C0 \\uAC04\\uB2E8\\uD55C \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.androidcentral.com/best-sd-card-raspberry-pi-3-b\"\n  }, \"\\uAC80\\uC0C9\"), \"\\uC744 \\uD574\\uBCF4\\uBA74 Sandisk\\uC758 Ultra 32GB microSDHC Card \\uC81C\\uD488\\uC774 \\uBB34\\uB09C\\uD558\\uB2E4\\uACE0 \\uB098\\uC624\\uB2C8 \\uCC38\\uACE0\\uD558\\uBA74 \\uB420 \\uAC83 \\uAC19\\uB2E4.\"), mdx(\"p\", null, \"\\uB098\\uB294 \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774 3 B+ \\uB294 \\uCF00\\uC774\\uC2A4\\uC640 \\uCDA9\\uC804\\uAE30 \\uADF8\\uB9AC\\uACE0 \\uBC1C\\uC5F4 \\uD310\\uC774 \\uCD94\\uAC00\\uB85C \\uB4E4\\uC5B4 \\uC788\\uB294 \\uAD6C\\uC131\\uC744 \\uC120\\uD0DD\\uD588\\uB2E4. 24/7 \\uD558\\uB8E8\\uC885\\uC77C \\uCF1C\\uB458 \\uC0AC\\uB78C\\uC740 \\uBC1C\\uC5F4 \\uD310\\uC744 \\uAC19\\uC774 \\uC0AC\\uB294 \\uAC8C \\uC88B\\uC744 \\uAC83 \\uAC19\\uB2E4.\"), mdx(\"p\", null, \"\\uB098\\uC911\\uC5D0 SD\\uCE74\\uB4DC\\uC5D0 OS\\uB97C \\uC50C\\uC6B0\\uB824\\uBA74 \\uB370\\uC2A4\\uD06C\\uD1B1\\uC5D0 \\uC5F0\\uACB0\\uD574\\uC57C \\uD558\\uB294\\uB370 \\uB530\\uB85C micro SD \\uB9AC\\uB354\\uAE30\\uAC00 \\uC5C6\\uB294 \\uACBD\\uC6B0 \\uBE7C\\uBA39\\uC9C0 \\uB9D0\\uACE0 \\uAC19\\uC774 \\uC8FC\\uBB38\\uD558\\uC790. \\uC544\\uB2C8\\uBA74 \\uB2E4\\uC774\\uC18C\\uC5D0\\uC11C 2,000\\uC6D0 \\uC8FC\\uACE0 \\uC0AC\\uBA74\\uB41C\\uB2E4.\"), mdx(\"p\", null, \"\\uB370\\uC2A4\\uD06C\\uD1B1\\uC774 SD\\uCE74\\uB4DC\\uB97C \\uC778\\uC2DD\\uC740 \\uD558\\uC9C0\\uB9CC \\uD3EC\\uB9F7\\uC774 \\uC548 \\uB41C\\uB2E4\\uBA74 \\uB9AC\\uB354\\uAE30\\uAC00 \\uBD88\\uB7C9\\uC774\\uB2E4.\"), mdx(\"h2\", null, \"Raspbian \\uC124\\uCE58\"), mdx(\"p\", null, \"\\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uB97C headless \\uC11C\\uBC84\\uB85C \\uC0AC\\uC6A9\\uD560 \\uAC83\\uC774\\uB77C\\uBA74 \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774 \\uACF5\\uC2DD \\uD648\\uD398\\uC774\\uC9C0\\uC5D0\\uC11C Raspbian Stretch Lite\\uB97C \\uBC1B\\uC73C\\uBA74 \\uB41C\\uB2E4. Lite \\uBC84\\uC804\\uC740 GUI\\uAC00 \\uC5C6\\uB2E4\\uB294 \\uC810\\uC744 \\uCC38\\uACE0\\uD558\\uBA74 \\uC88B\\uC744 \\uAC83 \\uAC19\\uB2E4.\"), mdx(\"p\", null, \"OS\\uBD80\\uD305\\uC6A9 SD \\uCE74\\uB4DC\\uB97C \\uB9CC\\uB4E4 \\uB54C\\uB294 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.balena.io/etcher/\"\n  }, \"Etcher\"), \" \\uB77C\\uB294 \\uC18C\\uD504\\uD2B8\\uC6E8\\uC5B4\\uB97C \\uC0AC\\uC6A9\\uD588\\uB2E4. \\uC544\\uB798\\uCC98\\uB7FC \\uC0DD\\uACBC\\uB2E4.\"), mdx(\"p\", null, \"{{< zoom src=\\\"/img/raspi_1_1.png\\\" >}}\"), mdx(\"p\", null, \"\\uD504\\uB85C\\uADF8\\uB7A8\\uC744 \\uD0A4\\uACE0 \\uB2E8\\uC21C\\uD788 \\uC544\\uC774\\uCF58\\uC774 \\uC54C\\uB824\\uC8FC\\uB294 \\uB300\\uB85C \\uB530\\uB77C\\uD558\\uBA74 \\uAE08\\uBC29 \\uB05D\\uB09C\\uB2E4.\"), mdx(\"p\", null, \"\\uADF8 \\uD6C4\\uC5D4 \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uC5D0 \\uD574\\uB2F9 SD\\uCE74\\uB4DC\\uB97C \\uC0BD\\uC785\\uD55C \\uB4A4 \\uC804\\uC6D0\\uC744 \\uC5F0\\uACB0\\uD558\\uBA74 \\uB41C\\uB2E4. \\uC774 \\uB54C \\uBAA8\\uB2C8\\uD130\\uAC00 \\uC5F0\\uACB0\\uB418\\uC5B4 \\uC788\\uB294 \\uC0C1\\uD0DC\\uC5D0\\uC11C \\uCF1C\\uC57C\\uD55C\\uB2E4.\"), mdx(\"p\", null, \"\\uC798 \\uCF1C\\uC9C0\\uB294\\uC9C0 \\uD655\\uC778\\uD558\\uB294 \\uBC29\\uBC95\\uC740 \\uBAA8\\uB2C8\\uD130\\uC5D0 \\uBB34\\uC9C0\\uAC1C\\uD654\\uBA74\\uC774 \\uB72C \\uB4A4 \\uBD80\\uD305\\uC2A4\\uD06C\\uB9B0\\uC73C\\uB85C \\uB118\\uC5B4\\uAC00\\uB294\\uC9C0\\uB97C \\uBCF4\\uBA74 \\uB41C\\uB2E4. \"), mdx(\"h2\", null, \"\\uBB34\\uC120\\uB79C\\uC73C\\uB85C \\uB85C\\uCEEC SSH \\uC811\\uC18D\"), mdx(\"p\", null, \"\\uBD80\\uD305\\uC774 \\uC644\\uB8CC\\uB41C \\uB4A4 \\uC258\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sudo raspi-config\"), \" \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD558\\uBA74 \\uAC01\\uC885 \\uC138\\uD305\\uC744 \\uD560 \\uC218 \\uC788\\uB2E4.\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uB124\\uD2B8\\uC6CC\\uD06C \\uC635\\uC158\\uC5D0\\uC11C wifi \\uC815\\uBCF4\\uB97C \\uC785\\uB825\\uD558\\uC5EC \\uB124\\uD2B8\\uC6CC\\uD06C\\uC5D0 \\uC5F0\\uACB0\\uD55C\\uB2E4. \\uC774\\uB54C \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\uC9C0\\uC5ED\\uC124\\uC815\\uC740 \\uBB34\\uC870\\uAC74 \\uC601\\uAD6D(GB)\\uC774\\uB098 \\uBBF8\\uAD6D(US)\\uC73C\\uB85C\"), \" \\uD574\\uC57C \\uBB34\\uC120\\uB79C\\uC774 \\uC798 \\uC791\\uB3D9\\uD55C\\uB2E4. \\uC65C \\uADF8\\uB7F0\\uC9C0\\uB294 \\uBAA8\\uB974\\uACA0\\uC9C0\\uB9CC \\uC0BD\\uC9C8 \\uB05D\\uC5D0 \\uC54C\\uAC8C \\uB418\\uC5C8\\uB2E4. \\uC601\\uBBF8\\uAD8C \\uC81C\\uD488\\uC774 \\uD55C\\uAD6D\\uC5D0\\uC11C \\uC774\\uC0C1\\uD558\\uAC8C \\uC791\\uB3D9\\uD558\\uB294 \\uACBD\\uC6B0\\uB294 \\uBE48\\uBC88\\uD558\\uB2E4.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uC778\\uD130\\uD398\\uC774\\uC2A4 \\uC635\\uC158\\uC5D0\\uC11C ssh\\uD56D\\uBAA9\\uC744 \\uCC3E\\uC544 enable \\uB85C \\uC124\\uC815\\uD55C\\uB2E4.\")), mdx(\"p\", null, \"\\uADF8 \\uD6C4 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"boot/\"), \" \\uD3F4\\uB354\\uB85C \\uB4E4\\uC5B4\\uAC00\\uC11C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sudo touch ssh\"), \" \\uB85C ssh\\uD30C\\uC77C\\uC744 \\uB9CC\\uB4E0\\uB2E4. \\uC774\\uB294 \\uBD80\\uD305\\uC2DC\\uC5D0 ssh \\uC0AC\\uC6A9\\uC744 \\uC54C\\uB9AC\\uB294 \\uC6A9\\uB3C4\\uC774\\uB2E4.\"), mdx(\"p\", null, \"\\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uAC00 \\uB124\\uD2B8\\uC6CC\\uD06C\\uC5D0 \\uC5F0\\uACB0\\uB418\\uC5C8\\uB294\\uC9C0 \\uD655\\uC778\\uD558\\uB824\\uBA74, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ifconfig\"), \" \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD55C\\uB2E4. wlan0 \\uC774 \\uBB34\\uC120\\uB79C \\uC5B4\\uB311\\uD130\\uC774\\uBBC0\\uB85C \\uD574\\uB2F9 \\uD56D\\uBAA9\\uC5D0 IP\\uAC00 \\uB728\\uB294\\uC9C0 \\uD655\\uC778\\uD55C\\uB2E4. \\uB9CC\\uC57D \\uB728\\uC9C0 \\uC54A\\uB294\\uB2E4\\uBA74 \\uC720\\uC120 \\uC5F0\\uACB0\\uC744 \\uD55C \\uB4A4 \\uC7AC\\uBD80\\uD305\\uD558\\uC5EC \\uD30C\\uC774\\uB97C \\uD574\\uB2F9 \\uB124\\uD2B8\\uC6CC\\uD06C\\uC5D0 \\uB4F1\\uB85D\\uC2DC\\uD0A4\\uACE0 \\uB2E4\\uC2DC \\uBB34\\uC120\\uB79C\\uC744 \\uC124\\uC815\\uD574 \\uBCF8\\uB2E4.\"), mdx(\"p\", null, \"\\uD655\\uC778\\uD588\\uC73C\\uBA74 \\uC774\\uC81C \\uD638\\uC2A4\\uD2B8\\uC5D0\\uC11C \\uC811\\uC18D\\uD560 \\uCC28\\uB840\\uC774\\uB2E4. \\uB370\\uC2A4\\uD06C\\uD1B1\\uC758 \\uD130\\uBBF8\\uB110\\uC744 \\uC5F4\\uACE0 (\\uC708\\uB3C4\\uC6B0\\uC758 \\uACBD\\uC6B0 \\uBCF4\\uD1B5 PuTTy\\uB97C \\uC0AC\\uC6A9\\uD558\\uC9C0\\uB9CC, powershell\\uC774 ssh\\uB97C \\uC9C0\\uC6D0\\uD55C\\uB2E4) \\uAC04\\uB2E8\\uD788 \\uB77C\\uC988\\uBCA0\\uB9AC \\uD30C\\uC774 \\uB0B4 \\uC0AC\\uC6A9\\uC790 \\uC774\\uB984\\uACFC IP \\uC8FC\\uC18C\\uB97C \\uB2E4\\uC74C\\uACFC \\uAC19\\uC774 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ssh username@123.123.123.123\"), \" \\uC785\\uB825\\uD558\\uBA74 \\uC811\\uC18D\\uD560 \\uC218 \\uC788\\uB2E4.\"), mdx(\"p\", null, \"\\uC6B0\\uC120 \\uC811\\uC18D\\uD55C \\uB4A4 \\uBCF4\\uC548\\uC744 \\uC704\\uD574 \\uD3C9\\uBB38\\uC73C\\uB85C \\uC800\\uC7A5\\uB41C \\uC640\\uC774\\uD30C\\uC774 \\uBE44\\uBC00\\uBC88\\uD638\\uB97C \\uC554\\uD638\\uD654\\uD558\\uB294 \\uAC83\\uC774 \\uC88B\\uB2E4. \\uC544\\uB798\\uC758 \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD558\\uBA74 wpa \\uC124\\uC815 \\uD30C\\uC77C\\uC5D0 \\uD328\\uC2A4\\uC6CC\\uB4DC\\uAC00 \\uC554\\uD638\\uD654\\uB41C \\uCEE8\\uD53D\\uC744 \\uCD94\\uAC00\\uD560 \\uC218 \\uC788\\uB2E4.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"sudo su wpa_passphrase \\\"password\\\" >> /etc/wpa_supplicant/wpa_supplicant.conf\\n\")), mdx(\"p\", null, \"\\uADF8\\uB7EC\\uACE0 \\uB098\\uC11C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/etc/wpa_supplicant/wpa_supplicant.conf\"), \" \\uC124\\uC815\\uD30C\\uC77C\\uC744 \\uD3B8\\uC9D1\\uAE30\\uB85C(\\uCEE4\\uB9E8\\uB4DC \\uC55E\\uC5D0 nano \\uD639\\uC740 vim\\uC744 \\uBD99\\uC774\\uBA74 \\uD574\\uB2F9 \\uD3B8\\uC9D1\\uAE30\\uAC00 \\uC5F4\\uB9B0\\uB2E4) \\uC5F4\\uBA74 \\uCF54\\uBA58\\uD2B8\\uCC98\\uB9AC\\uB41C \\uD3C9\\uBB38 \\uBE44\\uBC00\\uBC88\\uD638\\uAC00 \\uBCF4\\uC774\\uB294\\uB370 \\uD574\\uB2F9 \\uCF54\\uBA58\\uD2B8\\uB97C \\uC9C0\\uC6B4 \\uB4A4 \\uC800\\uC7A5\\uD55C\\uB2E4.\"), mdx(\"p\", null, \"\\uC774\\uD6C4\\uC5D0 \\uBB34\\uC120\\uB79C \\uC124\\uC815\\uC744 \\uBCC0\\uACBD\\uD558\\uAC8C \\uB41C\\uB2E4\\uBA74 \\uC124\\uC815\\uC744 \\uB2E4 \\uBCC0\\uACBD\\uD55C \\uB4A4\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"wpa_cli -i wlan0 reconfigure\"), \" \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD574 \\uC8FC\\uC5B4\\uC57C \\uD55C\\uB2E4.\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"aliases":[]},"parent":{"__typename":"File","id":"3a1a6d6f-eed6-5f3c-a800-556dce95593d","fields":{"slug":"/Raspberry Pi 3 B+ 서버 세팅 (1)","title":"Raspberry Pi 3 B+ 서버 세팅 (1)"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Raspberry Pi 3 B+ 서버 세팅 (2)\",\n  \"author\": \"vlwkaos\",\n  \"created\": \"2021-08-24:23:10:20\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Raspberry Pi 3 B+ \\uC11C\\uBC84 \\uC138\\uD305 (2)\"), mdx(\"h2\", null, \"\\uACF5\\uAC1C\\uD0A4 \\uC811\\uC18D\"), mdx(\"p\", null, \"\\uC778\\uD130\\uB137\\uC740 \\uCE5C\\uC808\\uD55C \\uACF3\\uC774 \\uC544\\uB2C8\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uB354 \\uC548\\uC804\\uD55C \\uC811\\uC18D\\uBC29\\uBC95\\uC744 \\uC124\\uC815\\uD560 \\uD544\\uC694\\uAC00 \\uC788\\uB2E4. \\uC708\\uB3C4\\uC6B0\\uC5D0\\uC11C\\uB294 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"C:Users\\\\USERNAME\\\\.ssh\"), \" \\uACBD\\uB85C\\uC5D0 \\uD0A4\\uAC00 \\uC800\\uC7A5\\uB41C\\uB2E4. \\uD574\\uB2F9 \\uD3F4\\uB354\\uB97C \\uD655\\uC778\\uD574\\uBCF4\\uACE0 \\uD0A4\\uB098 \\uD3F4\\uB354\\uAC00 \\uC5C6\\uB2E4\\uBA74 \\uD3F4\\uB354\\uBD80\\uD130 \\uB9CC\\uB4E4\\uC5B4 \\uC900\\uB2E4.\"), mdx(\"p\", null, \"\\uC708\\uB3C4\\uC6B0\\uC758 powershell\\uC5D0\\uC11C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ssh-keygen\"), \" \\uC744 \\uC785\\uB825\\uD558\\uBA74 \\uACF5\\uAC1C\\uD0A4\\uC640 \\uAC1C\\uC778\\uD0A4\\uC30D\\uC744 \\uB9CC\\uB4E4 \\uC218 \\uC788\\uB294\\uB370 \\uC704\\uC5D0\\uC11C \\uC5B8\\uAE09\\uD55C \\uD3F4\\uB354\\uC5D0 \\uB123\\uC5B4\\uC900\\uB2E4. \\uD30C\\uC77C \\uC774\\uB984\\uC740 \\uAE30\\uBCF8\\uAC12\\uC73C\\uB85C \\uB454\\uB2E4. \\uD655\\uC7A5\\uC790 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \".pub\"), \" \\uC774 \\uACF5\\uAC1C\\uD0A4 \\uD30C\\uC77C\\uC774\\uB2E4.\"), mdx(\"p\", null, \"\\uD0A4\\uB97C \\uB9CC\\uB4E4\\uC5C8\\uC73C\\uBA74 \\uACF5\\uAC1C\\uD0A4\\uB97C \\uD638\\uC2A4\\uD2B8\\uC5D0\\uAC8C \\uC804\\uB2EC\\uD574\\uC57C \\uD55C\\uB2E4. \\uC6B0\\uB9AC\\uB294 \\uC811\\uC18D\\uD558\\uB824\\uB294 \\uD638\\uC2A4\\uD2B8\\uAC00 \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uC774\\uB2E4. \\uD30C\\uC774\\uC758 \\uD648 \\uB514\\uB809\\uD1A0\\uB9AC\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"touch ~/.ssh/authorized_keys\"), \" \\uCEE4\\uB9E8\\uB4DC\\uB85C \\uD30C\\uC77C\\uC744 \\uC0C8\\uB85C \\uB9CC\\uB4E4\\uC5B4\\uC11C \\uACF5\\uAC1C\\uD0A4 \\uD30C\\uC77C\\uC758 \\uB0B4\\uC6A9\\uBB3C\\uC744 \\uBCF5\\uC0AC \\uBD99\\uC5EC\\uB123\\uAE30 \\uD55C\\uB2E4. \\uC544\\uB2C8\\uBA74 \\uD30C\\uC77C\\uC744 \\uC62E\\uACA8\\uC11C \\uC774\\uB984\\uC744 \\uBC14\\uAFD4\\uB3C4 \\uC88B\\uB2E4.\"), mdx(\"p\", null, \"\\uC774\\uC81C \\uD30C\\uC774\\uAC00 \\uACF5\\uAC1C\\uD0A4 \\uC811\\uC18D\\uC744 \\uC0AC\\uC6A9\\uD558\\uB3C4\\uB85D ssh \\uC124\\uC815\\uC744 \\uBC14\\uAFD4\\uC57C \\uD55C\\uB2E4. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/etc/ssh/sshd.conf\"), \" \\uD30C\\uC77C\\uC744 \\uD3B8\\uC9D1\\uAE30\\uB85C \\uC5F4\\uACE0 \\uC544\\uB798 \\uCC98\\uB7FC \\uBC14\\uAFBC\\uB2E4:\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"PermitRootLogin no \\nPubKeyAuthentication yes \\nAuthorizedKeysFile .ssh/authorized_keys\\nPasswordAuthentication no\\nChallengeResponseAuthentication no\\nUsePAM no\\n\")), mdx(\"p\", null, \"\\uC704\\uC5D0\\uC11C \\uBD80\\uD130 \\uB2E4\\uC74C\\uACFC \\uAC19\\uB2E4.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uC6D0\\uACA9\\uC811\\uC18D\\uC2DC \\uB8E8\\uD2B8\\uACC4\\uC815 \\uC811\\uADFC\\uC744 \\uD5C8\\uC6A9\\uC5EC\\uBD80 no\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uACF5\\uAC1C\\uD0A4 \\uC811\\uC18D \\uC0AC\\uC6A9\\uC5EC\\uBD80 yes\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uACF5\\uAC1C\\uD0A4 \\uACBD\\uB85C ...\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uD328\\uC2A4\\uC6CC\\uB4DC \\uC0AC\\uC6A9 no\")), mdx(\"p\", null, \"\\uC124\\uC815\\uD588\\uC73C\\uBA74 \\uC800\\uC7A5\\uD55C \\uB4A4 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sudo service ssh reload\"), \" \\uB97C \\uC785\\uB825\\uD558\\uC5EC ssh\\uB97C \\uC7AC\\uC2DC\\uC791\\uD55C\\uB2E4.\"), mdx(\"p\", null, \"\\uCD94\\uAC00\\uB85C \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://wikidocs.net/9784\"\n  }, \"\\uC5EC\\uAE30\"), \"\\uB97C \\uD074\\uB9AD\\uD558\\uC5EC \\uAE30\\uD0C0 \\uBCF4\\uC548\\uAD00\\uB828 \\uC124\\uC815\\uC744 \\uB354 \\uC54C\\uC544\\uBCF4\\uB294\\uAC8C \\uC88B\\uB2E4.\"), mdx(\"h2\", null, \"DDNS \\uC124\\uC815\"), mdx(\"p\", null, \"\\uC77C\\uBC18 \\uC778\\uD130\\uB137 \\uC0AC\\uC6A9\\uC790\\uC758 \\uACBD\\uC6B0 \\uACE0\\uC815 IP\\uB97C \\uD560\\uB2F9\\uBC1B\\uC9C0 \\uBABB\\uD558\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uC678\\uBD80\\uC5D0\\uC11C \\uC811\\uC18D\\uD558\\uB824\\uB294 \\uACBD\\uC6B0 \\uC774\\uB97C \\uD574\\uACB0\\uD574\\uC904 \\uBC29\\uBC95\\uC774 \\uD544\\uC694\\uD558\\uB2E4. \\uC774\\uB54C \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"DDNS(Dynamic Domian Name Server)\"), \" \\uB97C \\uC774\\uC6A9\\uD558\\uBA74 \\uB41C\\uB2E4. DDNS\\uB294 \\uAC04\\uB2E8\\uD788 \\uB9D0\\uD574 \\uD558\\uB098\\uC758 \\uB3C4\\uBA54\\uC778\\uC744 \\uBC14\\uB00C\\uB294 IP\\uC640 \\uC5F0\\uACB0\\uD574\\uC8FC\\uB294 \\uC11C\\uBE44\\uC2A4\\uC774\\uB2E4. \\uC5EC\\uAE30\\uC11C\\uB294 \\uBB34\\uB8CC\\uB85C \\uC81C\\uACF5\\uB418\\uB294 duckdns.org\\uB97C \\uC774\\uC6A9\\uD560 \\uAC83\\uC774\\uB2E4. \\uAE30\\uBD80\\uB85C \\uC6B4\\uC601\\uB418\\uACE0 \\uC788\\uB294 \\uB4EF \\uD558\\uB2E4. \\uACE0\\uB9D9\\uB2E4\\uBA74 \\uAE30\\uBD80\\uB97C \\uD574\\uC8FC\\uC790.\"), mdx(\"p\", null, \"\\uC0AC\\uC774\\uD2B8\\uC5D0 \\uB4E4\\uC5B4\\uAC00\\uBA74 \\uC6B0\\uCE21 \\uC0C1\\uB2E8\\uC5D0 \\uC5EC\\uB7EC \\uB85C\\uADF8\\uC778 \\uBC29\\uBC95\\uC774 \\uC788\\uC73C\\uB2C8 \\uC6D0\\uD558\\uB294 \\uBC29\\uBC95\\uC73C\\uB85C \\uB85C\\uADF8\\uC778\\uD55C\\uB2E4. \\uB85C\\uADF8\\uC778\\uC744 \\uD558\\uACE0 \\uB098\\uBA74 duckdns.org\\uC744 \\uC774\\uC6A9\\uD55C \\uC11C\\uBE0C \\uB3C4\\uBA54\\uC778\\uC744 \\uB4F1\\uB85D\\uD558\\uB294 \\uB780\\uC774 \\uBCF4\\uC77C \\uAC83\\uC774\\uB2E4. \\uC6D0\\uD558\\uB294 \\uC774\\uB984\\uC744 \\uC801\\uACE0 \\uCD94\\uAC00\\uD558\\uBA74 \\uB41C\\uB2E4. \\uC774\\uC81C IP\\uAC00 \\uBC14\\uB014 \\uB54C\\uB9C8\\uB2E4 \\uBC29\\uAE08 \\uB4F1\\uB85D\\uD55C \\uB3C4\\uBA54\\uC778\\uC73C\\uB85C \\uC5F0\\uACB0\\uD574\\uC904 \\uBC29\\uBC95\\uC774 \\uD544\\uC694\\uD558\\uB2E4.\"), mdx(\"p\", null, \"\\uC0C1\\uB2E8\\uC758 Install \\uD0ED\\uC744 \\uD074\\uB9AD\\uD558\\uC790. \\uADF8\\uB7FC \\uC5EC\\uB7EC \\uC2DC\\uC2A4\\uD15C\\uC0C1\\uC5D0\\uC11C duckdns\\uB97C \\uC774\\uC6A9\\uD558\\uB294 \\uBC29\\uBC95\\uC774 \\uB728\\uB294\\uB370 \\uC6B0\\uB9AC\\uB294 \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uB97C \\uC4F8 \\uAC83\\uC774\\uAE30 \\uB54C\\uBB38\\uC5D0 pi \\uBC84\\uD2BC\\uC744 \\uD074\\uB9AD\\uD55C\\uB2E4. \\uADF8\\uB7FC \\uBA3C\\uC800 \\uB3C4\\uBA54\\uC778\\uC744 \\uC120\\uD0DD\\uD558\\uB77C\\uACE0 \\uD55C\\uB2E4. \\uC544\\uAE4C \\uB4F1\\uB85D\\uD588\\uB358 \\uB3C4\\uBA54\\uC778\\uC744 \\uC120\\uD0DD\\uD558\\uBA74 \\uC790\\uB3D9\\uC73C\\uB85C \\uC5B4\\uB5A4 \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD560\\uC9C0 \\uCE5C\\uC808\\uD788 \\uC54C\\uB824\\uC900\\uB2E4. \\uB300\\uB7B5 \\uC124\\uBA85\\uD558\\uC790\\uBA74:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uD30C\\uC774\\uC758 \\uD130\\uBBF8\\uB110\\uC5D0 \\uC811\\uC18D\\uD55C\\uB2E4. (ssh)\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uD648\\uC5D0 duckdns \\uD3F4\\uB354\\uB97C \\uB9CC\\uB4E4\\uACE0 \\uC774\\uB3D9\\uD55C\\uB2E4. \\uC548\\uC5D0 \\uC258 \\uC2A4\\uD06C\\uB9BD\\uD2B8 \\uD30C\\uC77C\\uC744 \\uD558\\uB098 \\uB9CC\\uB4E4\\uACE0,\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uC54C\\uB824\\uC8FC\\uB294 \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uBCF5\\uC0AC & \\uBD99\\uC5EC\\uB123\\uAE30 \\uD55C\\uB2E4.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uC2A4\\uD06C\\uB9BD\\uD2B8 \\uC2E4\\uD589 \\uAD8C\\uD55C\\uC744 \\uC124\\uC815\\uD55C\\uB2E4.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"cron \\uC73C\\uB85C \\uC790\\uB3D9 \\uC2E4\\uD589\\uC744 \\uC124\\uC815\\uD55C\\uB2E4.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uC2A4\\uD06C\\uB9BD\\uD2B8\\uB97C \\uC9C1\\uC811 \\uC2E4\\uD589\\uD558\\uC5EC \\uC798 \\uB418\\uB294\\uC9C0 \\uD655\\uC778\\uD55C\\uB2E4.\")), mdx(\"p\", null, \"cron\\uC774 \\uBB54\\uC9C0\\uB294 \\uAD6C\\uAE00\\uC5D0 \\uAC80\\uC0C9\\uD558\\uBA74 \\uC790\\uC138\\uD788 \\uB098\\uC624\\uB2C8 \\uB530\\uB85C \\uC124\\uBA85\\uD558\\uC9C0 \\uC54A\\uC744 \\uAC83\\uC774\\uB2E4.\"), mdx(\"h2\", null, \"\\uD30C\\uC774 IP \\uACE0\\uC815\"), mdx(\"p\", null, \"\\uC2DC\\uC791\\uD558\\uAE30 \\uC804\\uC5D0 \\uD3EC\\uD2B8\\uD3EC\\uC6CC\\uB529\\uC744 \\uD574\\uC57C \\uD558\\uB294\\uB370 \\uD3EC\\uD2B8\\uD3EC\\uC6CC\\uB529\\uC744 \\uD558\\uB824\\uBA74 \\uAE30\\uAE30\\uC758 IP\\uB97C \\uACE0\\uC815\\uD574\\uC57C\\uD55C\\uB2E4. \\uD55C\\uAD6D \\uD1B5\\uC2E0\\uC0AC\\uAC00 \\uB300\\uC5EC\\uD574\\uC8FC\\uB294 \\uBA87\\uBA87 \\uACF5\\uC720\\uAE30\\uB294 \\uC774\\uC0C1\\uD558\\uAC8C \\uBCC4 \\uC774\\uC720\\uC5C6\\uC774 \\uC548\\uB418\\uB294 \\uACBD\\uC6B0\\uAC00 \\uB9CE\\uB2E4\\uB294 \\uC810\\uC744 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"http://tabayoichi.blogspot.com/2017/07/lgu-capd-6000-dmz.html\"\n  }, \"\\uC54C\\uACE0\"), \" \\uC2DC\\uC791\\uD558\\uC790. \\uD30C\\uC774\\uC758 IP\\uB97C \\uACE0\\uC815\\uD558\\uB824\\uBA74 \\uD3B8\\uC9D1\\uAE30\\uB85C \\uC124\\uC815 \\uD30C\\uC77C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/etc/dhcpcd.conf\"), \"\\uC744 \\uC5F4\\uACE0 \\uB2E4\\uC74C\\uC744 \\uCD94\\uAC00\\uD558\\uBA74 \\uB41C\\uB2E4. \\uC544\\uB798\\uB294 \\uCC38\\uACE0\\uB85C \\uD30C\\uC774\\uB97C \\uBB34\\uC120\\uB79C\\uC73C\\uB85C \\uC5F0\\uACB0\\uD560 \\uACBD\\uC6B0\\uC758 \\uC124\\uC815\\uC774\\uB2E4.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"interface wlan0\\nstatic ip_address=192.168.xxx.yyy\\nstatic routers=192.168.xxx.1    \\nstatic domain_name_servers=1.1.1.1\\n\")), mdx(\"p\", null, \"\\uC704\\uC5D0\\uC11C \\uBD80\\uD130 IP\\uB294 \\uB2E4\\uC74C\\uACFC \\uAC19\\uB2E4:  \"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uACE0\\uC815 \\uD560\\uB2F9 \\uD560 \\uB85C\\uCEECIP \\uC8FC\\uC18C (\\uB77C\\uC988\\uBCA0\\uB9AC \\uD30C\\uC774\\uC758 \\uB0B4\\uBD80 \\uC8FC\\uC18C)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\uACF5\\uC720\\uAE30 IP \\uC8FC\\uC18C\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"DNS \\uC8FC\\uC18C\")), mdx(\"p\", null, \"\\uC800\\uC7A5 \\uD6C4 \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uB97C \\uC7AC\\uBD80\\uD305\\uD558\\uBA74 \\uACE0\\uC815IP\\uB85C \\uC7A1\\uD78C\\uB2E4. \\uACF5\\uC720\\uAE30 \\uC124\\uC815 \\uD398\\uC774\\uC9C0\\uC5D0\\uC11C\\uB3C4 \\uD655\\uC778\\uC774 \\uAC00\\uB2A5\\uD558\\uB2E4.\"), mdx(\"h2\", null, \"\\uC678\\uBD80\\uC5D0\\uC11C ssh \\uC811\\uC18D\"), mdx(\"p\", null, \"ssh \\uC678\\uBD80\\uC811\\uC18D\\uC744 \\uC704\\uD574\\uC120 \\uD3EC\\uD2B8\\uB97C \\uC5F4\\uC5B4\\uC57C\\uD55C\\uB2E4. \\uAD00\\uB828 \\uC124\\uC815 \\uD30C\\uC77C\\uC740 \\uB2E4\\uC74C \\uACBD\\uB85C\\uC5D0 \\uC788\\uB2E4 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/etc/ssh/sshd_config\"), \". \\uD3B8\\uC9D1\\uAE30\\uB85C \\uC5F4\\uACE0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"# port 22\"), \" \\uAC00 \\uC788\\uB294 \\uD589\\uC744 \\uCC3E\\uB294\\uB2E4. \\uCF54\\uBA58\\uD2B8 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"#\"), \" \\uB97C \\uC0AD\\uC81C\\uD558\\uBA74 \\uB418\\uB294\\uB370, \\uBCF4\\uC548\\uC744 \\uC704\\uD574\\uC11C \\uD3EC\\uD2B8\\uBC88\\uD638\\uB97C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"22\"), \" \\uC774\\uC678\\uC758 \\uB2E4\\uB978 \\uC22B\\uC790\\uB85C \\uBC14\\uAFD4 \\uC8FC\\uB294\\uAC8C \\uC88B\\uB2E4. (\\uACF5\\uACA9\\uC790\\uAC00 \\uBE0C\\uB8E8\\uD2B8\\uD3EC\\uC2F1\\uC744 \\uD560 \\uB54C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"22, 222 ,2222\"), \" \\uC774\\uB7F0 \\uC21C\\uC73C\\uB85C \\uD558\\uB294 \\uACBD\\uC6B0\\uAC00 \\uB9CE\\uB2E4\\uACE0 \\uD558\\uB2C8 \\uB418\\uB3C4\\uB85D\\uC774\\uBA74 \\uB79C\\uB364\\uD558\\uAC8C \\uBC14\\uAFB8\\uB294 \\uAC83\\uC744 \\uCD94\\uCC9C\\uD55C\\uB2E4.)\"), mdx(\"p\", null, \"\\uCD94\\uAC00\\uC801\\uC73C\\uB85C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/etc/services\"), \" \\uD30C\\uC77C\\uC744 \\uC5F4\\uACE0 ssh \\uD56D\\uBAA9\\uC744 \\uCC3E\\uC544 \\uC801\\uD600\\uC788\\uB294 \\uD3EC\\uD2B8\\uBC88\\uD638\\uB97C \\uC704\\uC640 \\uAC19\\uC740 \\uBC88\\uD638\\uB85C \\uC218\\uC815\\uD574\\uC57C \\uD55C\\uB2E4.\"), mdx(\"p\", null, \"\\uC774\\uC81C \\uACF5\\uC720\\uAE30 \\uC124\\uC815\\uC73C\\uB85C \\uB4E4\\uC5B4\\uAC00\\uC11C \\uD3EC\\uD2B8\\uD3EC\\uC6CC\\uB529\\uC744 \\uD574\\uC918\\uC57C \\uD55C\\uB2E4. \\uD3EC\\uD2B8 \\uD3EC\\uC6CC\\uB529\\uC740 \\uB0B4\\uAC00 \\uAC16\\uACE0\\uC788\\uB294 \\uACF5\\uC778 IP\\uB85C \\uC678\\uBD80\\uC5D0\\uC11C \\uC694\\uCCAD\\uC774 \\uC654\\uC744 \\uB54C \\uB0B4\\uBD80\\uC5D0 \\uC5F0\\uACB0\\uB41C \\uAE30\\uAE30\\uC911 \\uC5B4\\uB514\\uB85C(\\uB0B4\\uBD80 IP) \\uC811\\uC18D \\uC2DC\\uD0AC \\uAC83\\uC778\\uC9C0 \\uACB0\\uC815\\uD558\\uB294 \\uAE30\\uB2A5\\uC774\\uB2E4. \\uD3EC\\uD2B8\\uD3EC\\uC6CC\\uB529\\uC744 \\uD558\\uB294 \\uBC29\\uBC95\\uC740 \\uACF5\\uC720\\uAE30\\uB9C8\\uB2E4 \\uC870\\uAE08\\uC529 \\uB2E4\\uB974\\uC9C0\\uB9CC \\uB300\\uB7B5 \\uB2E4\\uC74C\\uACFC \\uAC19\\uB2E4:\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uC678\\uBD80 \\uD3EC\\uD2B8\\uB97C \\uC785\\uB825\\uD55C\\uB2E4. (\\uB418\\uB3C4\\uB85D \\uB192\\uC740 \\uC22B\\uC790, e.g 12345)\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\\uB0B4\\uBD80 IP \\uC8FC\\uC18C\\uC640 \\uB0B4\\uBD80 \\uD3EC\\uD2B8\\uB97C \\uC785\\uB825\\uD55C\\uB2E4. (\\uD30C\\uC774\\uC758 \\uACE0\\uC815IP \\uC8FC\\uC18C, \\uC704\\uC5D0\\uC11C \\uBCC0\\uACBD\\uD55C SSH \\uD3EC\\uD2B8)\")), mdx(\"p\", null, \"\\uC989, \\uB098\\uC911\\uC5D0 \\uC678\\uBD80\\uC5D0\\uC11C \\uC811\\uC18D\\uD560 \\uB54C \\uACF5\\uC720\\uAE30\\uC758 \\uD3EC\\uD2B8\\uD3EC\\uC6CC\\uB529 \\uC124\\uC815\\uC774 \\uB0B4\\uAC00 \\uC124\\uC815\\uD55C \\uB0B4\\uBD80 IP\\uC640 \\uC704\\uC5D0\\uC11C \\uC218\\uC815\\uD55C ssh \\uD3EC\\uD2B8\\uB85C \\uC548\\uB0B4\\uD574\\uC8FC\\uB294 \\uAC83\\uC774\\uB2E4.\"), mdx(\"p\", null, \"\\uC124\\uC815\\uC744 \\uB9C8\\uCCE4\\uC73C\\uBA74 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.canyouseeme.org/\"\n  }, \"\\uC5EC\\uAE30\\uB97C \\uD074\\uB9AD\"), \"\\uD574\\uC11C  \\uD3EC\\uD2B8\\uAC00 \\uC5F4\\uB824\\uC788\\uB294\\uC9C0 \\uD655\\uC778\\uD560 \\uC218 \\uC788\\uB2E4.\"), mdx(\"p\", null, \"\\uCC38\\uACE0\\uB85C \\uAC19\\uC740 \\uB124\\uD2B8\\uC6CC\\uD06C \\uC0C1\\uC5D0\\uC11C \\uC678\\uBD80 \\uC544\\uC774\\uD53C\\uB85C \\uC811\\uC18D\\uC744 \\uD558\\uB824\\uACE0 \\uD558\\uBA74 Connection Refused \\uAC00 \\uB72C\\uB2E4. \\uB54C\\uBB38\\uC5D0 \\uC678\\uBD80 \\uB9DD\\uC5D0\\uC11C \\uD655\\uC778\\uD574\\uC57C \\uD55C\\uB2E4. \\uAC04\\uB2E8\\uD788 \\uC2A4\\uB9C8\\uD2B8\\uD3F0 \\uB370\\uC774\\uD130\\uB97C \\uD0A8 \\uD6C4 \\uC704\\uC758 \\uC0AC\\uC774\\uD2B8\\uC5D0\\uC11C DDNS\\uC8FC\\uC18C\\uB97C \\uC785\\uB825\\uD558\\uAC70\\uB098 \\uD604\\uC7AC \\uB0B4 \\uACF5\\uC720\\uAE30 \\uC678\\uBD80IP\\uB97C \\uC785\\uB825\\uD574\\uC11C \\uD655\\uC778\\uD560 \\uC218 \\uC788\\uB2E4.\"), mdx(\"p\", null, \"\\uC544\\uB9C8 \\uC5EC\\uAE30\\uAE4C\\uC9C0 \\uC798 \\uB530\\uB77C\\uC654\\uB2E4\\uBA74 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ssh username@ddns_address.org -p 12345\"), \" \\uC640 \\uAC19\\uC740 \\uCEE4\\uB9E8\\uB4DC\\uB85C \\uC678\\uBD80\\uC5D0\\uC11C \\uC811\\uC18D\\uC774 \\uAC00\\uB2A5\\uD560 \\uAC83\\uC774\\uB2E4. DDNS \\uC8FC\\uC18C\\uB294 \\uADF8\\uB300\\uB85C \\uC0AC\\uC6A9\\uD558\\uAE30 \\uBCF4\\uB2E4 \\uB098\\uC911\\uC5D0 \\uB3C4\\uBA54\\uC778\\uC744 \\uAD6C\\uB9E4\\uD574\\uC11C \\uADF8\\uAC78 \\uC0AC\\uC6A9\\uD558\\uC790.\"), mdx(\"p\", null, \"\\uCD94\\uAC00\\uC801\\uC73C\\uB85C \\uC811\\uC18D\\uC774 \\uC798 \\uC548\\uB420\\uB54C\\uB294 SSH \\uCEE4\\uB9E8\\uB4DC\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"-vvv\"), \" \\uC635\\uC158\\uC744 \\uBD99\\uC774\\uBA74 \\uC5B4\\uB514\\uC11C \\uC5F0\\uAC78\\uC774 \\uB9C9\\uD788\\uB294\\uC9C0 \\uD655\\uC778\\uC774 \\uAC00\\uB2A5\\uD558\\uB2E4.\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"aliases":[]},"parent":{"__typename":"File","id":"0b9c76ac-78bb-5c39-80ea-66ef75afaeaa","fields":{"slug":"/Raspberry Pi 3 B+ 서버 세팅 (2)","title":"Raspberry Pi 3 B+ 서버 세팅 (2)"}}},{"__typename":"Mdx","body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Raspberry Pi 3 B+ 서버 세팅 (3)\",\n  \"author\": \"vlwkaos\",\n  \"created\": \"2021-08-24:23:10:43\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Raspberry Pi 3 B+ \\uC11C\\uBC84 \\uC138\\uD305 (3)\"), mdx(\"h2\", null, \"node.js \\uC124\\uCE58\"), mdx(\"p\", null, \"Node.js 11 \\uBC84\\uC804\\uC744 \\uC124\\uCE58\\uD558\\uAE30 \\uC704\\uD574 \\uB2E4\\uC74C \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD55C\\uB2E4.  \"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"sudo apt-get update\\ncurl -sL https://deb.nodesource.com/setup_11.x | bash -\\nsudo apt-get install -y nodejs\\n\")), mdx(\"p\", null, \"node.js \\uC640 npm\\uC774 \\uC81C\\uB300\\uB85C \\uC124\\uCE58\\uB418\\uC5C8\\uB294\\uC9C0 \\uD655\\uC778\\uD558\\uAE30 \\uC704\\uD574\\uC11C \\uB2E4\\uC74C \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD55C\\uB2E4.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"node -v\\nnpm -v\\n\")), mdx(\"h2\", null, \"PM2 \\uC124\\uCE58\"), mdx(\"p\", null, \"\\uB178\\uB4DC \\uC571\\uC744 \\uC5EC\\uB7EC \\uAC1C \\uC2E4\\uD589\\uD558\\uAE30 \\uC704\\uD574, \\uADF8\\uB9AC\\uACE0 \\uBC31\\uADF8\\uB77C\\uC6B4\\uB4DC\\uC5D0 \\uC571\\uC744 \\uC0C1\\uC8FC\\uC2DC\\uD0A4\\uAE30 \\uC704\\uD574\\uC11C\\uB294 \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"http://pm2.keymetrics.io/\"\n  }, \"PM2\"), \"\\uB97C \\uC774\\uC6A9\\uD574\\uC57C \\uD55C\\uB2E4. \\uB2E4\\uC74C \\uCEE4\\uB9E8\\uB4DC\\uB85C \\uC124\\uCE58\\uD558\\uC790: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sudo npm install -g pm2\")), mdx(\"p\", null, \"\\uC774\\uC81C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pm2 start server.js\"), \" \\uC640 \\uAC19\\uC740 \\uCEE4\\uB9E8\\uB4DC\\uB85C nodejs \\uC571\\uC744 \\uC5EC\\uB7EC \\uAC1C \\uC2E4\\uD589\\uD560 \\uC218 \\uC788\\uB2E4. PM2\\uB294 \\uC571\\uC774 \\uAC11\\uC790\\uAE30 \\uC8FD\\uC744 \\uACBD\\uC6B0 \\uC7AC\\uC2DC\\uC791\\uD574\\uC8FC\\uB294 \\uAE30\\uB2A5\\uB3C4 \\uC788\\uB2E4. \\uBD80\\uD305 \\uC2DC\\uC5D0 \\uC790\\uB3D9\\uC73C\\uB85C \\uCF1C\\uC9C0\\uAC8C \\uD558\\uACE0\\uD504\\uAE30 \\uB54C\\uBB38\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pm2 startup systemd\"), \" \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD588\\uB2E4.\"), mdx(\"p\", null, \"\\uC704\\uC758 \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD558\\uBA74 '\\uC2DC\\uC791 \\uC124\\uC815\\uC744 \\uD558\\uACE0 \\uC2F6\\uC73C\\uBA74 \\uB2E4\\uC74C \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825'\\uD558\\uB77C\\uACE0 \\uD558\\uBA74\\uC11C \\uBB54\\uAC00\\uB97C \\uB358\\uC9C4\\uB2E4. \\uADF8\\uAC78 \\uADF8\\uB300\\uB85C \\uBCF5\\uC0AC\\uD574\\uC11C \\uC785\\uB825\\uD574\\uC8FC\\uC790. \\uADF8\\uB7EC\\uBA74 \\uBD80\\uD305 \\uC2DC PM2 \\uC2DC\\uC791 \\uC124\\uC815\\uC774 \\uB41C \\uAC83\\uC774\\uB2E4. \\uADF8\\uB7F0\\uB370 \\uB0B4\\uAC00 \\uCF1C\\uACE0 \\uC2F6\\uC740 \\uC571\\uC774 \\uBB54\\uC9C0 \\uC544\\uC9C1 \\uC9C0\\uC815\\uC744 \\uC548\\uD588\\uB2E4\\uB77C\\uB294 \\uC0DD\\uAC01\\uC774 \\uB4E4 \\uAC83\\uC774\\uB2E4. PM2\\uB294 \\uB364\\uD504\\uC5D0\\uC11C \\uD655\\uC778 \\uAC00\\uB2A5\\uD55C \\uC571 \\uBAA9\\uB85D\\uC744 \\uC774\\uC6A9\\uD574 \\uC704\\uC758 \\uAE30\\uB2A5\\uC744 \\uC218\\uD589\\uD55C\\uB2E4.\"), mdx(\"p\", null, \"\\uB364\\uD504\\uD30C\\uC77C\\uC744 \\uB9CC\\uB4DC\\uB294 \\uAC74 \\uAC04\\uB2E8\\uD558\\uB2E4. \\uBD80\\uD305 \\uC2DC \\uCF1C\\uACE0 \\uC2F6\\uC740 node.js \\uC571\\uB4E4\\uC744 PM2\\uB97C \\uC774\\uC6A9\\uD558\\uC5EC \\uC2DC\\uC791\\uD574\\uC900\\uB2E4. \\uADF8 \\uD6C4\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pm2 save\"), \" \\uB97C \\uC785\\uB825\\uD558\\uAE30\\uB9CC \\uD558\\uBA74 \\uB41C\\uB2E4.\"), mdx(\"p\", null, \"\\uB9C8\\uC9C0\\uB9C9\\uC73C\\uB85C  \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pm2 list\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pm2 status\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"pm2 show\"), \" \\uCEE4\\uB9E8\\uB4DC\\uB97C \\uC785\\uB825\\uD558\\uBA74 \\uD604\\uC7AC \\uC2E4\\uD589 \\uC911\\uC778 \\uC571\\uC758 \\uC0C1\\uD0DC\\uB97C \\uD655\\uC778\\uD560 \\uC218 \\uC788\\uB2E4.\"), mdx(\"h2\", null, \"Nginx \\uC124\\uCE58\"), mdx(\"p\", null, \"Nginx \\uB294 Reverse Proxy \\uC11C\\uBE44\\uC2A4\\uC774\\uB2E4. Nginx\\uB97C \\uC774\\uC6A9\\uD558\\uBA74 \\uD558\\uB098\\uC758 \\uC11C\\uBC84\\uB85C \\uB2E4\\uC218\\uC758 \\uC11C\\uBC84\\uB97C \\uC6B4\\uC6A9\\uD558\\uB294 \\uAC83 \\uCC98\\uB7FC \\uC124\\uC815\\uD560 \\uC218 \\uC788\\uB2E4. \\uC27D\\uAC8C \\uB9D0\\uD558\\uBA74 \\uD3EC\\uD2B8\\uD3EC\\uC6CC\\uB529\\uC758 \\uBC18\\uB300\\uC774\\uB2E4. \\uC608\\uB97C \\uB4E4\\uBA74 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"80\"), \"\\uBC88 \\uD3EC\\uD2B8 \\uD558\\uB098\\uB9CC \\uC5F4\\uC5B4 \\uB450\\uACE0 \\uB0B4\\uBD80\\uC5D0\\uC11C \\uC8FC\\uC18C\\uB098 \\uB3C4\\uBA54\\uC778 \\uC774\\uB984\\uC5D0 \\uB530\\uB77C \\uB2E4\\uB978 \\uD3EC\\uD2B8\\uC5D0\\uC11C \\uC11C\\uBE44\\uC2A4\\uD558\\uB294 \\uC6F9 \\uC11C\\uBC84\\uB85C \\uC5F0\\uACB0\\uD574\\uC904 \\uC218 \\uC788\\uB294 \\uAC83\\uC774\\uB2E4. Nginx\\uC758 \\uC774\\uC810\\uC774\\uB77C\\uACE0 \\uD558\\uBA74 \\uC5EC\\uB7EC \\uD3EC\\uD2B8\\uB97C \\uC5F4\\uC5B4\\uB450\\uC9C0 \\uC54A\\uC544\\uB3C4 \\uB418\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uADF8\\uB0E5 \\uC11C\\uBE44\\uC2A4\\uD558\\uB294 \\uAC83\\uBCF4\\uB2E4 \\uD55C \\uCE35\\uC758 \\uBCF4\\uC548\\uC774 \\uB354 \\uC0DD\\uAE34\\uB2E4\\uB294 \\uC810.\"), mdx(\"p\", null, \"\\uC544\\uB798\\uB97C \\uC785\\uB825\\uD558\\uC5EC \\uC124\\uCE58\\uD574\\uC900\\uB2E4.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"sudo apt update\\nsudo apt install nginx\\n\")), mdx(\"p\", null, \"Nginx\\uB294 \\uC124\\uCE58\\uAC00 \\uB05D\\uB098\\uC790 \\uB9C8\\uC790 \\uBC14\\uB85C \\uC2E4\\uD589 \\uB41C\\uB2E4. \\uB77C\\uC988\\uBCA0\\uB9AC\\uD30C\\uC774\\uC758 IP\\uC8FC\\uC18C\\uB97C \\uBE0C\\uB77C\\uC6B0\\uC800\\uC5D0 \\uCE58\\uACE0 \\uB4E4\\uC5B4\\uAC00 \\uBCF4\\uBA74 \\uC6F0\\uCEF4 \\uD398\\uC774\\uC9C0\\uAC00 \\uB72C\\uB2E4. \\uC5F4\\uB824\\uC788\\uB294 \\uD3EC\\uD2B8\\uC758 \\uAE30\\uBCF8\\uAC12\\uC774 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"80\"), \"\\uC774\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uC544\\uBB34 \\uC124\\uC815\\uC744 \\uD558\\uC9C0 \\uC54A\\uC544\\uB3C4 \\uB728\\uB294 \\uAC83\\uC774\\uB2E4.\"), mdx(\"p\", null, \"\\uADF8\\uB7F0\\uB370 \\uC6F0\\uCEF4 \\uD398\\uC774\\uC9C0 \\uB300\\uC2E0\\uC5D0 \\uB0B4\\uAC00 \\uC6D0\\uD558\\uB294 \\uC571\\uC744 \\uB744\\uC6B0\\uACE0 \\uC2F6\\uC73C\\uB2C8\\uAE4C \\uC124\\uC815\\uC744 \\uD574\\uC918\\uC57C \\uB41C\\uB2E4. \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/etc/nginx/sites-available/default\"), \"  \\uD30C\\uC77C\\uC744 \\uC218\\uC815 \\uD574\\uC57C\\uB41C\\uB2E4. \\uB300\\uBD80\\uBD84\\uC758 \\uC124\\uC815\\uC740 \\uC5EC\\uAE30\\uC11C \\uD55C\\uB2E4\\uACE0 \\uBCF4\\uBA74 \\uB41C\\uB2E4. \\uACBD\\uB85C\\uB97C \\uC678\\uC6CC\\uB450\\uC790.  \\uB0B4\\uC6A9\\uC744 \\uC0B4\\uD3B4\\uBCF4\\uBA74 server \\uC139\\uC158\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"location / { ... }\"), \" \\uC774\\uB7F0 \\uBD80\\uBD84\\uC774 \\uC788\\uC744 \\uAC83\\uC774\\uB2E4. \\uAD04\\uD638 \\uC548\\uC5D0 \\uB2E4\\uC74C\\uC73C\\uB85C \\uCC44\\uC6B0\\uC790.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"proxy_pass http://localhost:3000;\\nproxy_http_version 1.1;\\nproxy_set_header Upgrade $http_upgrade;\\nproxy_set_header Connection 'upgrade';\\nproxy_set_header Host $host;\\nproxy_cache_bypass $http_upgrade;\\n\")), mdx(\"p\", null, \"\\uC774\\uAC83\\uC740  \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"80\"), \"\\uBC88 \\uD3EC\\uD2B8\\uB97C \\uB4E3\\uACE0\\uC788\\uB294 \\uC11C\\uBC84\\uC5D0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"/\"), \" \\uB77C\\uB294 \\uD558\\uC704\\uC8FC\\uC18C\\uB85C \\uC694\\uCCAD\\uC774 \\uB4E4\\uC5B4\\uC624\\uBA74 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"3000\"), \" \\uBC88 \\uD3EC\\uD2B8\\uB97C \\uC0AC\\uC6A9\\uD558\\uB294 \\uC571\\uC73C\\uB85C \\uC5F0\\uACB0\\uC2DC\\uD0A4\\uB77C\\uB294 \\uC124\\uC815\\uC774\\uB2E4.\"), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sudo nginx -t\"), \" \\uB85C \\uC774\\uC0C1\\uC774 \\uC5C6\\uB294\\uC9C0 \\uD655\\uC778\\uD55C \\uB4A4 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"sudo systemctl restart nginx\"), \" \\uB85C  Nginx\\uB97C \\uC7AC\\uC2DC\\uC791 \\uD574\\uC8FC\\uC790.\"), mdx(\"p\", null, \"\\uC544\\uB9C8 node.js \\uB098 PM2 \\uB85C \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"3000\"), \"\\uBC88 \\uD3EC\\uD2B8\\uB97C \\uC0AC\\uC6A9\\uD558\\uB294 \\uC571\\uC744 \\uC2E4\\uD589\\uD558\\uBA74 \\uADF8\\uB9AC\\uB85C \\uC811\\uC18D\\uC774 \\uB420 \\uAC83\\uC774\\uB2E4.\"), mdx(\"h2\", null, \"\\uC548\\uC804\\uD55C https \\uC5F0\\uACB0\"), mdx(\"p\", null, \"\\uBBFC\\uAC10\\uD55C \\uAC1C\\uC778 \\uC815\\uBCF4\\uAC00 \\uD3EC\\uD568\\uB41C \\uC704\\uD0A4\\uB97C \\uD638\\uC2A4\\uD305 \\uD55C\\uB2E4\\uBA74 \\uC554\\uD638\\uD654 \\uC5C6\\uC774 \\uACF5\\uAC1C \\uB124\\uD2B8\\uC6CC\\uD06C\\uC5D0\\uC11C \\uC811\\uC18D\\uD558\\uAE30\\uAC00 \\uAEBC\\uB824\\uC9C8 \\uC218 \\uBC16\\uC5D0 \\uC5C6\\uB2E4. \\uADF8\\uB7EC\\uB2C8\\uAE4C \\uC6B0\\uB9AC\\uB294 SSL\\uC744 \\uD1B5\\uD55C \\uC548\\uC804\\uD55C \\uC811\\uC18D\\uC744 \\uD558\\uACE0\\uC2F6\\uB2E4.\"), mdx(\"p\", null, \"\\uC5EC\\uAE30\\uC11C\\uB294 SSL\\uC744 \\uBC1B\\uB294 \\uC81C\\uC77C \\uAC04\\uB2E8\\uD55C \\uBC29\\uBC95\\uC744 \\uC774\\uC6A9\\uD560 \\uAC83\\uC774\\uB2E4. \\uBC14\\uB85C (\\uACFC\\uAC70 let's encrypt) dehydrate\\uB97C \\uC774\\uC6A9\\uD558\\uB294 \\uBC29\\uBC95\\uC774\\uB2E4.\"), mdx(\"p\", null, \"\\uBA3C\\uC800 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"git clone https://github.com/lukas2511/dehydrated.git\"), \" \\uB85C dehydrate\\uB97C \\uB2E4\\uC6B4\\uBC1B\\uB294\\uB2E4. \\uBC1B\\uACE0\\uB098\\uC11C dehydrate \\uD3F4\\uB354\\uB85C \\uB4E4\\uC5B4\\uAC00 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"domains.txt\"), \" \\uD30C\\uC77C\\uC744 \\uC548\\uC5D0 \\uB9CC\\uB4E4\\uACE0 \\uB0B4\\uC6A9\\uBB3C\\uC5D0\\uB294 \\uC548\\uC804\\uD55C \\uC5F0\\uACB0\\uC744 \\uC2DC\\uB3C4\\uD560 \\uB3C4\\uBA54\\uC778 \\uC8FC\\uC18C\\uB97C \\uC801\\uB294\\uB2E4. \\uC608\\uB97C \\uB4E4\\uC790\\uBA74 \\uB098\\uB294 \\uC544\\uC9C1 \\uB3C4\\uBA54\\uC778 \\uC8FC\\uC18C\\uB97C \\uB530\\uB85C \\uC124\\uC815\\uD558\\uC9C0 \\uC54A\\uC558\\uAE30 \\uB54C\\uBB38\\uC5D0 \\uC774\\uC804\\uC758 \\uAE00\\uC5D0\\uC11C duckdns\\uB85C \\uB9CC\\uB4E0 ddns \\uC8FC\\uC18C\\uB9CC \\uAC16\\uACE0\\uC788\\uB2E4. \\uADF8\\uAC78 (\\uC608: \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"example.duckdns.org\"), \") \\uB123\\uACE0 \\uC800\\uC7A5\\uD560 \\uAC83\\uC774\\uB2E4. \\uAC19\\uC740 \\uC778\\uC99D\\uC11C\\uB97C \\uC0AC\\uC6A9\\uD558\\uB294 \\uC6F9\\uC0AC\\uC774\\uD2B8\\uC758 \\uB3C4\\uBA54\\uC778\\uC744 \\uB354 \\uCD94\\uAC00 \\uD558\\uACE0 \\uC2F6\\uB2E4\\uBA74 \\uB744\\uC5B4\\uC4F0\\uAE30\\uB97C \\uD55C \\uD6C4 \\uB354 \\uCD94\\uAC00\\uD558\\uBA74 \\uB41C\\uB2E4.\"), mdx(\"p\", null, \"\\uADF8\\uB9AC\\uACE0 \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"config\"), \" \\uB77C\\uB294 \\uD30C\\uC77C\\uB3C4 \\uD544\\uC694\\uD558\\uB2E4. \\uC5C6\\uC73C\\uBA74 \\uB9CC\\uB4E4\\uACE0 \\uC788\\uC73C\\uBA74 \\uD30C\\uC77C\\uC744 \\uC5F4\\uACE0 \\uB2E4\\uC74C \\uB0B4\\uC6A9\\uC774 \\uD3EC\\uD568\\uB418\\uB3C4\\uB85D \\uC218\\uC815\\uD55C\\uB2E4.\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\"\n  }, \"# Which challenge should be used? Currently http-01 and dns-01 are supported\\nCHALLENGETYPE=\\\"dns-01\\\"\\n\\n# Script to execute the DNS challenge and run after cert generation\\nHOOK=\\\"${BASEDIR}/hook.sh\\\"\\n\")), mdx(\"h2\", null, \"PM2\\uC5D0\\uC11C Tiddlywiki \\uC2E4\\uD589\\uD558\\uAE30\"), mdx(\"p\", null, \"WIP\"));\n}\n;\nMDXContent.isMDXComponent = true;","frontmatter":{"aliases":[]},"parent":{"__typename":"File","id":"b19187da-7c9a-50ad-9c84-7c1640b149f8","fields":{"slug":"/Raspberry Pi 3 B+ 서버 세팅 (3)","title":"Raspberry Pi 3 B+ 서버 세팅 (3)"}}}],"inboundReferences":[{"__typename":"Mdx","body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"개발\",\n  \"author\": \"vlwkaos\",\n  \"tags\": [\"category\"],\n  \"aliases\": [],\n  \"created\": \"2021-02-22:00:16:28\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"\\uAC1C\\uBC1C\"), mdx(\"h2\", null, \"\\uAE00\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EA%B0%9C%EB%B0%9C%EC%9E%90%20%ED%9A%8C%EA%B3%A0\",\n    \"title\": \"개발자 회고\"\n  }, \"[[\\uAC1C\\uBC1C\\uC790 \\uD68C\\uACE0]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EA%B8%B0%EC%88%A0%20%EB%B6%80%EC%B1%84\",\n    \"title\": \"기술 부채\"\n  }, \"[[\\uAE30\\uC220 \\uBD80\\uCC44]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0%20%EC%89%AC%EC%9A%B4%20%EC%BD%94%EB%93%9C\",\n    \"title\": \"관리하기 쉬운 코드\"\n  }, \"[[\\uAD00\\uB9AC\\uD558\\uAE30 \\uC26C\\uC6B4 \\uCF54\\uB4DC]]\"), \"\")), mdx(\"h2\", null, \"\\uB3C4\\uBA54\\uC778\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80%20%EA%B0%96%EC%B6%B0%EC%95%BC%ED%95%A0%20%EA%B0%9C%EB%B0%9C%EC%99%B8%20%EB%8A%A5%EB%A0%A5\",\n    \"title\": \"개발자가 갖춰야할 개발외 능력\"\n  }, \"[[\\uAC1C\\uBC1C\\uC790\\uAC00 \\uAC16\\uCDB0\\uC57C\\uD560 \\uAC1C\\uBC1C\\uC678 \\uB2A5\\uB825]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EC%9B%B9%20%EA%B0%9C%EB%B0%9C\",\n    \"title\": \"웹 개발\"\n  }, \"[[\\uC6F9 \\uAC1C\\uBC1C]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Monorepo%20%EB%AA%A8%EB%85%B8%EB%A0%88%ED%8F%AC\",\n    \"title\": \"Monorepo 모노레포\"\n  }, \"[[Monorepo \\uBAA8\\uB178\\uB808\\uD3EC]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Rust\",\n    \"title\": \"Rust\"\n  }, \"[[Rust]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Raspberry%20Pi\",\n    \"title\": \"Raspberry Pi\"\n  }, \"[[Raspberry Pi]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EC%BD%94%EB%93%9C%EB%B6%84%EC%84%9D\",\n    \"title\": \"코드분석\"\n  }, \"[[\\uCF54\\uB4DC\\uBD84\\uC11D]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EC%BB%B4%ED%93%A8%ED%84%B0%20%EA%B7%B8%EB%9E%98%ED%94%BD%EC%8A%A4\",\n    \"title\": \"컴퓨터 그래픽스\"\n  }, \"[[\\uCEF4\\uD4E8\\uD130 \\uADF8\\uB798\\uD53D\\uC2A4]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Dev%20Ops\",\n    \"title\": \"Dev Ops\"\n  }, \"[[Dev Ops]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%ED%8F%B0%ED%8A%B8\",\n    \"title\": \"폰트\"\n  }, \"[[\\uD3F0\\uD2B8]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/UX\",\n    \"title\": \"UX\"\n  }, \"[[UX]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EA%B0%9C%EB%B0%9C%20%EB%8F%84%EA%B5%AC\",\n    \"title\": \"개발 도구\"\n  }, \"[[\\uAC1C\\uBC1C \\uB3C4\\uAD6C]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EC%9B%B9%20%EC%9D%B4%EC%8A%88\",\n    \"title\": \"웹 이슈\"\n  }, \"[[\\uC6F9 \\uC774\\uC288]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/Machine%20Learning\",\n    \"title\": \"Machine Learning\"\n  }, \"[[Machine Learning]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%20%EA%B0%9C%EB%B0%9C\",\n    \"title\": \"안드로이드 개발\"\n  }, \"[[\\uC548\\uB4DC\\uB85C\\uC774\\uB4DC \\uAC1C\\uBC1C]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%20%EA%B4%80%EB%A6%AC%20%EA%B0%80%EC%9D%B4%EB%93%9C\",\n    \"title\": \"프로젝트 관리 가이드\"\n  }, \"[[\\uD504\\uB85C\\uC81D\\uD2B8 \\uAD00\\uB9AC \\uAC00\\uC774\\uB4DC]]\"), \"\")), mdx(\"h2\", null, \"\\uBD81 \\uB9AC\\uBDF0\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EB%B6%81%20%EB%A6%AC%EB%B7%B0%20-%20The%20Pragmatic%20Programmer\",\n    \"title\": \"북 리뷰 - The Pragmatic Programmer\"\n  }, \"[[\\uBD81 \\uB9AC\\uBDF0 - The Pragmatic Programmer]]\"), \"\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/%EB%B6%81%20%EB%A6%AC%EB%B7%B0%20-%20TDD%20Test%20Driven%20Development\",\n    \"title\": \"북 리뷰 - TDD Test Driven Development\"\n  }, \"[[\\uBD81 \\uB9AC\\uBDF0 - TDD Test Driven Development]]\"), \"\")));\n}\n;\nMDXContent.isMDXComponent = true;","parent":{"__typename":"File","id":"57a2d514-cd3f-5cf0-8fb3-eaddf0be53e5","fields":{"slug":"/개발","title":"개발"}}}]},"fields":{"slug":"/Raspberry Pi","title":"Raspberry Pi"}}},"pageContext":{"id":"194975a3-5b4c-5e38-b1e8-793bfebf94a6"}},"staticQueryHashes":["2098632890","2468095761"]}